Generating Integration Test Orders for Aspect Oriented Software with Multi-objective Algorithms

نویسندگان

  • Wesley Klewerton Guez Assunção
  • Thelma Elita Colanzi
  • Silvia Regina Vergilio
  • Aurora Trinidad Ramirez Pozo
چکیده

O problema conhecido como CAITO refere-se à determinação de uma ordem para integrar e testar módulos que minimize os custos associados à construção de stubs. Algoritmos de busca, particularmente os algoritmos evolutivos, têm sido utilizados. Entretanto, o problema é bastante complexo e envolve diferentes fatores associados à construção de stubs, tais como diferentes medidas de complexidade, questões contratuais e outros. Estes fatores geralmente conflitam entre si e diferentes soluções para o problema são possíveis. Para lidar adequadamente com este problema, este trabalho explora o uso de algoritmos de otimização multiobjetivos. O artigo apresenta resultados da aplicação de dois algoritmos evolutivos NSGA-II e SPEA2 para o problema CAITO, em quatro sistemas reais implementados em AspectJ. Ambos algoritmos multiobjetivos são avaliados e comparados com o algoritmo de Tarjan e com um algoritmo genético mono-objetivo. Além disto, é apresentado um exemplo de como o testador pode utilizar as soluções obtidas de acordo com suas metas de teste. Abstract: The problem known as CAITO refers to the determination of an order to integrate and test modules that minimizes stubbing costs. Search based algorithms have been used, mainly evolutionary ones. However, the problem is very complex since it involves different factors associated to the stubbing process, such as complexity measures, contractual issues and so on. These factors are usually in conflict and different possible solutions for the problem exist. To deal properly with this problem, this study explores the use of multi-objective optimization algorithms. The paper presents results from the application of two evolutionary algorithms NSGA-II and SPEA2 to the CAITO problem in four real systems, implemented in AspectJ. Both multi-objective algorithms are evaluated and compared with the traditional Tarjan’s algorithm and with a mono-objective genetic algorithm. Moreover, it is shown how the tester can use the found solutions, according to the test goals. The problem known as CAITO refers to the determination of an order to integrate and test modules that minimizes stubbing costs. Search based algorithms have been used, mainly evolutionary ones. However, the problem is very complex since it involves different factors associated to the stubbing process, such as complexity measures, contractual issues and so on. These factors are usually in conflict and different possible solutions for the problem exist. To deal properly with this problem, this study explores the use of multi-objective optimization algorithms. The paper presents results from the application of two evolutionary algorithms NSGA-II and SPEA2 to the CAITO problem in four real systems, implemented in AspectJ. Both multi-objective algorithms are evaluated and compared with the traditional Tarjan’s algorithm and with a mono-objective genetic algorithm. Moreover, it is shown how the tester can use the found solutions, according to the test goals. ∗This is an extended version of the paper that appeared at LA-WASP 2011 (V Latin American Workshop on AspectOriented Software Development and has been recommended to RITA.) 1Computer Science Department, Federal University of Paraná (UFPR), CP:19081, CEP: 19031-970, Paraná, Brazil {wesleyk, silvia, aurora}@inf.ufpr.br 2Computer Science Department, State University of Maringá (UEM), Paraná, Brazil [email protected] Generating Integration Test Orders for Aspect-Oriented Software with Multi-objective Algorithms

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Integration testing of aspect-oriented programs: a characterization study to evaluate how to minimize the number of stubs

A problem related to the integration test of object-oriented programs is the order that classes are integrated and tested. This problem also appears in aspect-oriented programs. The incremental integration strategy, which suggests that classes are tested first and then integrated to the aspects, is often proposed as the more adequate strategy to integrate classes and aspects. This work presents...

متن کامل

A Pareto Ant Colony Algorithm Applied to the Class Integration and Test Order Problem

In the context of Object-Oriented software, many works have investigated the Class Integration and Test Order (CITO) problem, proposing solutions to determine test orders for the integration test of the program classes. The existing approaches based on graphs can generate solutions that are sub-optimal, and do not consider the different factors and measures that can affect the stubbing process....

متن کامل

MEng Individual Project Aspect Oriented Design for Dataflow Engines

Dataflow designs implemented on custom streaming architectures can be orders of magnitudes more efficient than traditional software, but they are developed with reduced productivity. We propose a novel design flow for generating dataflow designs based on Aspect-oriented programming and explain how the proposed approach can be used to decouple design optimisation from design specification by enc...

متن کامل

Aspect-Oriented Code Generation for Integration of Aspect Orientation and Model-Driven Engineering

Software development can be improved from many perspectives by combining aspect orientation and model-driven engineering techniques. At a higher level, they can be integrated in two different ways: (1) by handling specifics of aspect orientation at modeling level and later generating object-oriented code, or (2) by transforming an aspect model directly into aspect-oriented code. The latter appr...

متن کامل

Decompositional Algorithms for Safety Verification and Testing of Aspect-Oriented Systems

To efficiently solve safety verification and testing problems for an aspect-oriented system, we use multitape automata to model aspects and propose algorithms for the aspect-oriented system specified by a number of primary labeled transition systems (some of them are black-boxes) and aspects. Our algorithms combine automata manipulations over the aspects and primary systems with black-box testi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • RITA

دوره 20  شماره 

صفحات  -

تاریخ انتشار 2013